package listeners;

import interface_grafica.TelaCadastroParceiroPF;
import interface_grafica.TelaCadastroParceiroPJ;
import interface_grafica.TelaConsultaParceiro;
import interface_grafica.TelaConsultaSocio;
import interface_grafica.TelaEdicaoParceiroPF;
import interface_grafica.TelaEdicaoParceiroPJ;
import interface_grafica.TelaEdicaoSocio;
import interface_grafica.TelaPrincipal;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.swing.JOptionPane;
import javax.swing.ListSelectionModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

import banco.Queries;


public class ListenersTelaConsultaParceiro implements ActionListener, ListSelectionListener{

	@Override
public void actionPerformed(ActionEvent e) {
		
	    TelaConsultaParceiro tela = TelaConsultaParceiro.getInstance();

	    tela.getTabelaParceiros().getSelectionModel().addListSelectionListener(new ListSelectionListener() {  
	        public void valueChanged(ListSelectionEvent e) {  
	              if (!e.getValueIsAdjusting()) {
	            	  JOptionPane.showMessageDialog(null, "TESTE");
	              }
	        }
	       });
	 	
		
}//actionPerformed	
	
	@Override
	public void valueChanged(ListSelectionEvent e) {
		
		TelaConsultaParceiro tela = TelaConsultaParceiro.getInstance();

		
			ListSelectionModel model = tela.getTabelaParceiros().getSelectionModel();  
	        int lead = model.getLeadSelectionIndex();  
	        displayRowValues(lead); 
		}      
	        private void displayRowValues(int rowIndex){ 
	        	TelaConsultaParceiro tela = TelaConsultaParceiro.getInstance();
	            int columns = tela.getTabelaParceiros().getColumnCount();  
	            
	            String id="";
	            String nome="";
	            Object o = null;
	            for(int col = 0; col < columns; col++)  
	            {  
	                o = tela.getTabelaParceiros().getValueAt(rowIndex, col); 
	                
	                String aux[] = new String[2];
	                aux[col] = o.toString();
	                
	                if(aux[0] != null){
	                 id = aux[0];
	                }
	                if(aux[1]!= null){
	                 nome = aux[1];
	                }                             
	            } 
	            
	            
	            Queries query =  new Queries();
	            
	            String tabela = "parceiro";
	            String condicao = "codparceiro = '"+id+"' AND nome='"+nome+"'";
	            
	            try {
	            	
	            	ResultSet rs = 	query.consultar(tabela, condicao);
	            	
	            	while(rs.next()){            	
	            	
	            	String rua = rs.getString("rua");
	    			String bairro = rs.getString("bairro");
	    			String cep = rs.getString("cep");
	    			String numero = rs.getString("numero");
	    			String complemento =rs.getString("complemento");
	    			String cidade = rs.getString("cidade");
	    			int estado = rs.getInt("estado");
	    			String telefone= rs.getString("telefone");	    			
	    			String cpf = rs.getString("cpf_cnpj");
	    			String email = rs.getString("email");
	    			String presidente = rs.getString("presidente");
	    			String tipo = rs.getString("tipo");
	    			String data = rs.getString("data"); 
	    			
	    			TelaPrincipal frame = TelaPrincipal.getInstance();
	    			
	    			if(tipo.equals("Pessoa Fisica")){
	    			
	    				TelaEdicaoParceiroPF tela2  = TelaEdicaoParceiroPF.getInstance();
		    			
	    				tela2.setIdParceiroPF(id);
	    				tela2.setNomeParceiroPF(nome);
	    				tela2.setDataNascParceiroPF(data);
	    				tela2.setCpfParceiroPF(cpf);
	    				tela2.setTelefoneParceiroPF(telefone);
	    				tela2.setRuaEParceiroPF(rua);
	    				tela2.setBairroEParceiroPF(bairro);
	    				tela2.setNumeroEParceiroPF(numero);
	    				tela2.setComplementoEParceiroPF(complemento);
	    				tela2.setCidadeEParceiroPF(cidade);
	    				tela2.setCepEParceiroPF(cep);
	    				tela2.getEstadoEParceiroPF().setSelectedIndex(estado);
	    				tela2.setEmailParceiroPF(email);
	    				
		    			tela2.setBounds(10, 11, 1063, 557);
		    			frame.getPanel().removeAll();
		    		    frame.getPanel().add(tela2);
		    		    frame.repaint();
		    		    frame.validate();
	    		    }
	    			else if(tipo.equals("Pessoa Juridica")){
	    				TelaEdicaoParceiroPJ tela2  = TelaEdicaoParceiroPJ.getInstance();
	    				
	    				tela2.setIdParceiroPJ(id);
	    				tela2.setNomeParceiroPJ(nome);
	    				tela2.setTelefoneParceiroPJ(telefone);
	    				tela2.setRuaEParceiroPJ(rua);
	    				tela2.setBairroEParceiroPJ(bairro);
	    				tela2.setNumeroParceiroPJ(numero);
	    				tela2.setComplementoParceiroPJ(complemento);
	    				tela2.setCidadeEParceiroPJ(cidade);
	    				tela2.setCepParceiroPJ(cep);
	    				tela2.getEstadoEParceiroPJ().setSelectedIndex(estado);
	    				tela2.setEmailParceiroPJ(email);
	    				tela2.setDataFundParceiroPJ(data);
	    				tela2.setNomeRespParceiroPJ(presidente);
	    				tela2.setCnpjParceiroPJ(cpf);
		    			  
	    				tela2.setBounds(10, 11, 1063, 557);
		    			frame.getPanel().removeAll();
		    		    frame.getPanel().add(tela2);
		    		    frame.repaint();
		    		    frame.validate();
	    		    }
	    	           	
	            	}
	            	rs.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
	                   	
	            	
	            	
	        }  
	 
}